<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const xiyouji = ['唐僧', '悟空', '八戒', '沙僧', '白龙马']
    // 使用for...of 遍历数组
    for (let i of xiyouji) {
      console.log(i)
    }



    // 使用迭代器遍历数组
    const wuchengen = {
      name: '西游记',
      xiyouji2: ['唐僧', '悟空', '八戒', '沙僧', '白龙马'],
      [Symbol.iterator]() {   // 设置迭代器，每次循环时，返回一个对象
        let index = 0
        return {
          next: () => {
            if (index < this.xiyouji2.length) {
              index++;
              return { value: 'abc', done: false }
            } else {
              return { value: undefined, done: true }   // 表示循环结束，没有这个会一直循环
            }
          }
        }
      }
    }

    for (let i of wuchengen) {
      console.log(i)
    }
  </script>
</body>

</html>